package db.freebase.entities;

import db.freebase.annotations.FreeBaseIndex;

public class FreeBaseFictionalCharacter implements FreeBaseEntity {
    
    @FreeBaseIndex(index=0)
    private String name;
    
    @FreeBaseIndex(index=1)
    private String mid;
    
    @FreeBaseIndex(index=2)
    private String[] basedOn; // person in fiction 
    
    @FreeBaseIndex(index=3)
    private String[] placeOfBirth; // fictional setting 
    
    @FreeBaseIndex(index=4)
    private String[] gender; // character gender 
    
    @FreeBaseIndex(index=5)
    private String[] species; // character species
    
    @FreeBaseIndex(index=6)
    private String[] parents; // self reference
    
    @FreeBaseIndex(index=7)
    private String[] occupation; // character occupation
    
    @FreeBaseIndex(index=8)
    private String[] rank; // character rank
    
    @FreeBaseIndex(index=9)
    private String[] organizations; // fictional orginization
    
    @FreeBaseIndex(index=10)
    private String[] powersOrAbilities; // character powers
    
    @FreeBaseIndex(index=11)
    private String[] appearsInTheseFictinalUniverses; // fictional universe
    
    @FreeBaseIndex(index=12)
    private String[] children; // self reference
    
    @FreeBaseIndex(index=13)
    private String[] siblings; // siblig relationship of fictional characters - mediator
    
    @FreeBaseIndex(index=14)
    private String[] marriedTo; // marriage of fictional characters - mediator
    
    @FreeBaseIndex(index=15)
    private String[] characterCreatedBy; // fictional character creator
    
    @FreeBaseIndex(index=16)
    private String[] employers; // fictional employment tenure - employer <--> employee - mediator - also contains job title
    
    @FreeBaseIndex(index=17)
    private String[] quotations; // media_common/quotation (external)
    
    @FreeBaseIndex(index=18)
    private String[] romanticallyInvolvedWith; // romantic involvment - mediator
    
    @FreeBaseIndex(index=19)
    private String[] ethnicity; // ethnicity in fiction
    
    @FreeBaseIndex(index=20)
    private String[] education; // school in fiction
    
    @FreeBaseIndex(index=21)
    private String[] hasPossesed; // fictional object
    
    @FreeBaseIndex(index=22)
    private String[] medicalConditions; // medical condition in fiction
    
    // fictional data time - mediator - date_time or other_calendar_system+other_date_time (might contain where..)
    // might also contain the date in name.. need to check several options
    @FreeBaseIndex(index=23)
    private String[] dateOfBirth; 
    
    @FreeBaseIndex(index=24)
    private float height; // meters - single value - no other table 
    
    @FreeBaseIndex(index=25)
    private float weight; // kilograms - single value - no other table
    
    @FreeBaseIndex(index=26)
    private String[] placesLived; // fictional setting 

    
    public String getName() {
        return name;
    }

    public String getMid() {
        return mid;
    }

    public String[] getBasedOn() {
        return basedOn;
    }

    public String[] getPlaceOfBirth() {
        return placeOfBirth;
    }

    public String[] getGender() {
        return gender;
    }

    public String[] getSpecies() {
        return species;
    }

    public String[] getParents() {
        return parents;
    }

    public String[] getOccupation() {
        return occupation;
    }

    public String[] getRank() {
        return rank;
    }

    public String[] getOrganizations() {
        return organizations;
    }

    public String[] getPowersOrAbilities() {
        return powersOrAbilities;
    }

    public String[] getAppearsInTheseFictinalUniverses() {
        return appearsInTheseFictinalUniverses;
    }

    public String[] getChildren() {
        return children;
    }

    public String[] getSiblings() {
        return siblings;
    }

    public String[] getMarriedTo() {
        return marriedTo;
    }

    public String[] getCharacterCreatedBy() {
        return characterCreatedBy;
    }

    public String[] getEmployers() {
        return employers;
    }

    public String[] getQuotations() {
        return quotations;
    }

    public String[] getRomanticallyInvolvedWith() {
        return romanticallyInvolvedWith;
    }

    public String[] getEthnicity() {
        return ethnicity;
    }

    public String[] getEducation() {
        return education;
    }

    public String[] getHasPossesed() {
        return hasPossesed;
    }

    public String[] getMedicalConditions() {
        return medicalConditions;
    }

    public String[] getDateOfBirth() {
        return dateOfBirth;
    }

    public float getHeight() {
        return height;
    }

    public float getWeight() {
        return weight;
    }

    public String[] getPlacesLived() {
        return placesLived;
    }

}
